#ifndef JOUEUR_H
#define JOUEUR_H

#include <string>
#include <QObject>

using namespace std;

#include "message.h"
#include "couleur.h"
#include "coup.h"
#include "type.h"

class MoteurJeu;


class Joueur : public QObject {
    Q_OBJECT
    
    protected:
        MoteurJeu * parent;
        string nom;
        Couleur couleur;
        int score;
    public:
        Joueur() {}
        Joueur(MoteurJeu * parent, string nom, Couleur couleur, int score);
        virtual ~Joueur() {}

        string getNom() const;
        Couleur getCouleur() const;
        int getScore() const;
        
        virtual void debutTour();
        virtual void debutTour(int last_x_debut, int last_y_debut, int last_x_fin, int last_y_fin, Coup last_coup, Type last_promo);
        virtual void finTour();
        virtual void choixPromotion();
};

#endif
